
/**********************************************************************************************************************
  COPYRIGHT
-----------------------------------------------------------------------------------------------------------------------
  \par      copyright
  \verbatim
  Copyright (c) 2017 by Vector Informatik GmbH.                                                  All rights reserved.

                This software is copyright protected and proprietary to Vector Informatik GmbH.
                Vector Informatik GmbH grants to you only those rights as set out in the license conditions.
                All other rights remain with Vector Informatik GmbH.
  \endverbatim
-----------------------------------------------------------------------------------------------------------------------
  FILE DESCRIPTION
-----------------------------------------------------------------------------------------------------------------------
  \file  File:  BrsHw.h
      Project:  Vector Basic Runtime System
       Module:  BrsHw for Platform Renesas RH850

  \brief Description:  This is the hardware specific header file for Vector Basic Runtime System (BRS).
                       This file supports: see BrsHw_DerivativeList.h

  \attention Please note:
    The demo and example programs only show special aspects of the software. With regard to the fact
    that these programs are meant for demonstration purposes only, Vector Informatik liability shall be
    expressly excluded in cases of ordinary negligence, to the extent admissible by law or statute.
**********************************************************************************************************************/

#ifndef _BRSHW_H_
#define _BRSHW_H_

/**********************************************************************************************************************
  INCLUDES
**********************************************************************************************************************/
/*
 * Description: The BrsHw_DerivativeList header contains all derivative specific settings.
 *              This file is part of the BrsHw.
 */
#include "BrsHw_DerivativeList.h"

/*
 * Description: The BrsCfg header is used to configure different types of
 *              tests and system setups. Therefore it must be included first
 *              in each BRS and test module.
 *              This file is part of the BRS.
 */
#include "BrsCfg.h"

#if !defined (BASIC_RUNTIME_SYSTEM_TYPE_MSR4)
  /*
   * Description: The v_cfg header is generated by the generation tool. It contains
   *              a list of currently used CANbedded/MSR3 modules (VGEN_ENABLE_*).
   *              For MSR4, this list is contained within VGenEnableSwitches.h of
   *              zBrs_AsrEmbeddedRunTimeSystemCfg5, included via BrsCfg.h.
   */
  #include "v_cfg.h"

  /*
   * Description: BrsTypes header is the abstraction for MSR/CBD to get access to type definitions
   */
  #include "BrsTypes.h"
#else
  /*
   * Description: Std_Types header provides all Standard Types within ASR-stacks
   */
  #include "Std_Types.h"
#endif /*BASIC_RUNTIME_SYSTEM_TYPE_MSR4*/

/**********************************************************************************************************************
  MODULE VERSION
**********************************************************************************************************************/
/*
 * Description: This is the BrsHw main and bug fix version. The version numbers are BCD coded. 
 *              E.g. a main version of 1.23 is coded with 0x0123, a bug fix version of 9 is coded 0x09.
 */
#define BRSHW_VERSION        0x0204u
#define BRSHW_BUGFIX_VERSION 0x02u

/**********************************************************************************************************************
  GLOBAL CONSTANT MACROS
**********************************************************************************************************************/
/*
 * Description: Macro for access to IO addresses
 */
#define BRSHW_IOS(type, address) (*((volatile type *)(address)))

#if defined (BRS_ENABLE_SUPPORT_LEDS)
/*
 * Description: set pin number of used pin for alive blinking mechanism.
 */
  #define BRSHW_LED_SYSTEM_OK 0 /* this is just a dummy on this paltform, not used within BrsHwSetLed() */
#endif /*BRS_ENABLE_SUPPORT_LEDS*/

/**********************************************************************************************************************
  Compiler abstraction
**********************************************************************************************************************/
#if defined (BRS_COMP_GHS)
  #define ___asm(c)               __asm_(c)
  #define __asm_(c)               asm(" " #c);
  #define __as1(c, d)             __as1_(c, d)
  #define __as1_(c, d)            asm(" " #c " , " #d);
  #define __as2(c, d, e)          __as2_(c, d, e)
  #define __as2_(c, d, e)         asm(" " #c " , " #d " , " #e);
  #define BRS_ISR_BASE_ENTRY(x)   ___asm(jr x)
  #define BRS_ISR_ALIGNMENT       ___asm(nop);___asm(nop);___asm(nop);___asm(nop);___asm(nop);___asm(nop);
  #define BRS_ISR_ENTRY(x)        ___asm(.word x)
  #define BRS_ISR_KEYWORD         __interrupt
  #define BRS_ISR_DEFINE(x)       _##x

#else
  #error: "Compiler not yet supported"
#endif

/**********************************************************************************************************************
  BrsHW configuration
**********************************************************************************************************************/
#if defined (BRS_OS_USECASE_OS)
/* nothing to be done here yet */

#elif defined (BRS_OS_USECASE_OSGEN7)
/* nothing to be done here yet */

#else
  #error "Configured OS_USECASE is not supported (Organi filtered because of ALM attributes or wrong set within Makefile.config)"
#endif

/**********************************************************************************************************************
  Global variables
**********************************************************************************************************************/

/**********************************************************************************************************************
  Global const variables
**********************************************************************************************************************/
/*
 * Description: These constants are used to propagate the Versions over module boundaries.
 *              The version numbers are BCD coded. E.g. a sub version of 23 is coded with 0x23, 
 *              a bug fix version of 9 is coded 0x09.
 */
extern uint8 const kBrsHwMainVersion;
extern uint8 const kBrsHwSubVersion;
extern uint8 const kBrsHwBugfixVersion;

/**********************************************************************************************************************
  Global function prototypes
**********************************************************************************************************************/

/*****************************************************************************/
/**
 * @brief      This function has to be used to initialize controller specific
*              stuff that is not related to one of the other InitPowerOn
*              functions (e.g. code that is always mandatory, also if MCAL
*              and/or OS is used). This function is called from BrsCbd/BrsAsr
*              immediately after BrsHwDisableInterruptAtPowerOn() during
*              initialization (if BRSHW_PREINIT_AVAILABLE is set in BrsHw.h).
 * @pre        -
 * @param[in]  -
 * @param[out] -
 * @return     -
 * @context    Function is called from init@BrsMain
 */
/*****************************************************************************/
#define BRSHW_PREINIT_AVAILABLE
void BrsHwPreInitPowerOn(void);

/*****************************************************************************/
/**
 * @brief      This function has to be used to initialize the Watchdog.
 * @pre        -
 * @param[in]  -
 * @param[out] -
 * @return     -
 * @context    Function is called from main@BrsMain or EcuM at power on initialization
 */
/*****************************************************************************/
void BrsHwWatchdogInitPowerOn(void);

/*****************************************************************************/
/**
 * @brief      This function has to be used to initialize the PLL.
 * @pre        -
 * @param[in]  -
 * @param[out] -
 * @return     -
 * @context    Function is called from main@BrsMain or EcuM at power on initialization
 */
/*****************************************************************************/
void BrsHwPllInitPowerOn(void);

#if !defined (VGEN_ENABLE_DRVPORT)
# if defined (BRS_ENABLE_TCM_SUPPORT)
/*************************************
 TCM Functions
**************************************/
void BrsHw_WriteDio_TCM_CLK_OUT(uint8 Level);
void BrsHw_WriteDio_TCM_SDA_OUT(uint8 Level);
uint8 BrsHw_ReadDio_TCM_CLK_IN(void);
uint8 BrsHw_ReadDio_TCM_SDA_IN(void);
# endif /*BRS_ENABLE_TCM_SUPPORT*/
#endif /*!VGEN_ENABLE_DRVPORT*/

/*****************************************************************************/
/**
 * @brief      This function has to be used to initialize the used ports.
 * @pre        -
 * @param[in]  -
 * @param[out] -
 * @return     -
 * @context    Function is called from main@BrsMain or EcuM at power on initialization
 */
/*****************************************************************************/
void BrsHwPortInitPowerOn(void);

/*****************************************************************************/
/**
 * @brief      This function has to be used to initialize misc features not
 *             covered by the three functions above.
 * @pre        -
 * @param[in]  -
 * @param[out] -
 * @return     -
 * @context    Function is called from main@BrsMain or EcuM at power on initialization
 */
/*****************************************************************************/
void BrsHwEvaBoardInitPowerOn(void);

/*****************************************************************************/
/**
 * @brief      Disable the global system interrupt and initialize the INT
 *             lock handler variables.
 * @pre        Must be the first function call in main@BrsMain
 * @param[in]  -
 * @param[out] -
 * @return     -
 * @context    Function is called from main@BrsMain at power on initialization
 */
/*****************************************************************************/
void BrsHwDisableInterruptAtPowerOn(void);

/*****************************************************************************/
/**
 * @brief      Enable the global system interrupt the first time
 * @pre        Must be called after all initializations are done
 * @param[in]  -
 * @param[out] -
 * @return     -
 * @context    Function is called from main@BrsMain at power on initialization
 */
/*****************************************************************************/
void BrsHwEnableInterruptAtPowerOn(void);

#if !defined (BRS_OS_USECASE_OSGEN7)
/*****************************************************************************/
/**
 * @brief      This function has to be used to initialize the used interrupts.
 * @pre        -
 * @param[in]  -
 * @param[out] -
 * @return     -
 * @context    Function is called from BrsHwEnableInterruptAtPowerOn or EcuM-DriverInitThree
 */
/*****************************************************************************/
void BrsHwConfigureInterruptsAtPowerOn(void);
#endif /*BRS_OS_USECASE_OSGEN7*/

/*****************************************************************************/
/**
 * @brief      Disables the global interrupt of the micro. This is done in a
 *             "save way" to allow also nested calls of BrsHwDisableInterrupt
 *             and BrsHwRestoreInterrupt. The first call of BrsHwDisableInterrupt
 *             stores the current state of the global INT flag and the last
 *             call to BrsHwRestoreInterrupt restores the state.
 * @pre        -
 * @param[in]  -
 * @param[out] -
 * @return     -
 * @context    Function is called from all modules to disable the global interrupt
 */
/*****************************************************************************/
void BrsHwDisableInterrupt(void);

/*****************************************************************************/
/**
 * @brief      Restores the state of the global interrupt of the micro. This
 *             is done in a "save way" to allow also nested calls of
 *             BrsHwDisableInterrupt and BrsHwRestoreInterrupt. The first call
 *             of BrsHwDisableInterrupt stores the current state of the global
 *             INT flag and the last call to BrsHwRestoreInterrupt restores the
 *             state.
 * @pre        -
 * @param[in]  -
 * @param[out] -
 * @return     -
 * @context    Function is called from all modules to enable the global interrupt
 */
/*****************************************************************************/
void BrsHwRestoreInterrupt(void);

/*****************************************************************************/
/**
 * @brief      restart ECU (issue a software reset or jump to startup code)
 * @pre        -
 * @param[in]  -
 * @param[out] -
 * @return     -
 * @context    Function is called from e.g. ECU state handling
 */
/*****************************************************************************/
void BrsHwSoftwareResetECU(void);

#if defined (BRS_ENABLE_SUPPORT_LEDS)
/*****************************************************************************/
/**
 * @brief      A platform specific usage of LedNumber is used to toggle a LED.
*              Please note, that not every EVA hardware supports LEDs and due
*              to this do not use this feature for a general test case!
 * @pre   -
 * @param[in]  -
 * @param[out] -
 * @return     -
 * @context    Function is called from All modules to set or clear a LED
 */
/*****************************************************************************/
void BrsHwSetLed(
  /*
   *  Description        : Number of the LED to be handled
   *  Direction          : in
   *  Modified           : no
   *  Val. range / Coding: 0..7
   */
  uint8 LedNumber,
  /*
   *  Description        : New state of the LED
   *  Direction          : in
   *  Modified           : no
   *  Val. range / Coding: 0..1
   */
  uint8 NewState
);
#endif /*BRS_ENABLE_SUPPORT_LEDS*/

/*****************************************************************************/
/**
 * @brief      This API is used for the BRS time measurement support to get a
 *             default time value for all measurements with this platform to
 *             be able to compare time measurements on different dates based
 *             on this time result.
 * @pre        -
 * @param[in]  -
 * @param[out] -
 * @return     -
 * @context    Function is called from TimeMeasurement
 */
/*****************************************************************************/
void BrsHwTime100NOP(void);

# if defined (BRSASR_ENABLE_SAFECTXSUPPORT)
/*****************************************************************************/
/**
 * @brief This API is used to enable hardware access in untrusted mode
 * @pre  -
 * @param[in]  -
 * @param[out] -
 * @return     -
 * @context    Function is called from BrsAsrInitBsw
 */
/*****************************************************************************/
void BrsHw_EnableHwAccess(void);
# endif /*BRSASR_ENABLE_SAFECTXSUPPORT*/

/**********************************************************************************************************************
  Interrupt handler function protoytpes
**********************************************************************************************************************/
#if defined(BRS_OS_USECASE_OSGEN7)
# if defined (BRS_HW_ENABLE_SINGLE_DUMMY_INTERRUPT) || defined(BRS_OS_USECASE_OSGEN7)
/*****************************************************************************/
/**
 * @brief      The dummy interrupt handler has to be used to fill up the
*              interrupt vector table and to catch illegal interrupts in the
*              BRS exception handler.
 * @pre        A wrong IRQ setting or an other malfunction has been occured
*              and an undefined interrupt has been triggered.
 * @param[in]  -
 * @param[out] -
 * @return     -
 * @context    Function is called by unused entries in the interrupt vector table
 */
/*****************************************************************************/
BRS_ISR_KEYWORD void BrsHwDummyInterrupt(void);
# else
# define BRS_DUMMY_INT_H(inta) BRS_ISR_KEYWORD void BrsHwDummyInterrupt##inta(void);

BRS_DUMMY_INT_H(16)
BRS_DUMMY_INT_H(32)
BRS_DUMMY_INT_H(48)
BRS_DUMMY_INT_H(64)
BRS_DUMMY_INT_H(80)
BRS_DUMMY_INT_H(112)
BRS_DUMMY_INT_H(128)
BRS_DUMMY_INT_H(144)
BRS_DUMMY_INT_H(160)
BRS_DUMMY_INT_H(176)
BRS_DUMMY_INT_H(192)
BRS_DUMMY_INT_H(208)
BRS_DUMMY_INT_H(224)
BRS_DUMMY_INT_H(240)
BRS_DUMMY_INT_H(256)
BRS_DUMMY_INT_H(272)
BRS_DUMMY_INT_H(288)
BRS_DUMMY_INT_H(304)
BRS_DUMMY_INT_H(320)
BRS_DUMMY_INT_H(336)
BRS_DUMMY_INT_H(352)
BRS_DUMMY_INT_H(368)
BRS_DUMMY_INT_H(384)
BRS_DUMMY_INT_H(400)
BRS_DUMMY_INT_H(416)
BRS_DUMMY_INT_H(432)
BRS_DUMMY_INT_H(448)
BRS_DUMMY_INT_H(464)
BRS_DUMMY_INT_H(480)
BRS_DUMMY_INT_H(496)
BRS_DUMMY_INT_H(512)
BRS_DUMMY_INT_H(516)
BRS_DUMMY_INT_H(520)
BRS_DUMMY_INT_H(524)
BRS_DUMMY_INT_H(528)
BRS_DUMMY_INT_H(532)
BRS_DUMMY_INT_H(536)
BRS_DUMMY_INT_H(540)
BRS_DUMMY_INT_H(544)
BRS_DUMMY_INT_H(548)
BRS_DUMMY_INT_H(552)
BRS_DUMMY_INT_H(556)
BRS_DUMMY_INT_H(560)
BRS_DUMMY_INT_H(564)
BRS_DUMMY_INT_H(568)
BRS_DUMMY_INT_H(572)
BRS_DUMMY_INT_H(576)
BRS_DUMMY_INT_H(580)
BRS_DUMMY_INT_H(584)
BRS_DUMMY_INT_H(588)
BRS_DUMMY_INT_H(592)
BRS_DUMMY_INT_H(596)
BRS_DUMMY_INT_H(600)
BRS_DUMMY_INT_H(604)
BRS_DUMMY_INT_H(608)
BRS_DUMMY_INT_H(612)
BRS_DUMMY_INT_H(616)
BRS_DUMMY_INT_H(620)
BRS_DUMMY_INT_H(624)
BRS_DUMMY_INT_H(628)
BRS_DUMMY_INT_H(632)
BRS_DUMMY_INT_H(636)
BRS_DUMMY_INT_H(640)
BRS_DUMMY_INT_H(644)
BRS_DUMMY_INT_H(648)
BRS_DUMMY_INT_H(652)
BRS_DUMMY_INT_H(656)
BRS_DUMMY_INT_H(660)
BRS_DUMMY_INT_H(664)
BRS_DUMMY_INT_H(668)
BRS_DUMMY_INT_H(672)
BRS_DUMMY_INT_H(676)
BRS_DUMMY_INT_H(680)
BRS_DUMMY_INT_H(684)
BRS_DUMMY_INT_H(688)
BRS_DUMMY_INT_H(692)
BRS_DUMMY_INT_H(696)
BRS_DUMMY_INT_H(700)
BRS_DUMMY_INT_H(704)
BRS_DUMMY_INT_H(708)
BRS_DUMMY_INT_H(712)
BRS_DUMMY_INT_H(716)
BRS_DUMMY_INT_H(720)
BRS_DUMMY_INT_H(724)
BRS_DUMMY_INT_H(728)
BRS_DUMMY_INT_H(732)
BRS_DUMMY_INT_H(736)
BRS_DUMMY_INT_H(740)
BRS_DUMMY_INT_H(744)
BRS_DUMMY_INT_H(748)
BRS_DUMMY_INT_H(752)
BRS_DUMMY_INT_H(756)
BRS_DUMMY_INT_H(760)
BRS_DUMMY_INT_H(764)
BRS_DUMMY_INT_H(768)
BRS_DUMMY_INT_H(772)
BRS_DUMMY_INT_H(776)
BRS_DUMMY_INT_H(780)
BRS_DUMMY_INT_H(784)
BRS_DUMMY_INT_H(788)
BRS_DUMMY_INT_H(792)
BRS_DUMMY_INT_H(796)
BRS_DUMMY_INT_H(800)
BRS_DUMMY_INT_H(804)
BRS_DUMMY_INT_H(808)
BRS_DUMMY_INT_H(812)
BRS_DUMMY_INT_H(816)
BRS_DUMMY_INT_H(820)
BRS_DUMMY_INT_H(824)
BRS_DUMMY_INT_H(828)
BRS_DUMMY_INT_H(832)
BRS_DUMMY_INT_H(836)
BRS_DUMMY_INT_H(840)
BRS_DUMMY_INT_H(844)
BRS_DUMMY_INT_H(848)
BRS_DUMMY_INT_H(852)
BRS_DUMMY_INT_H(856)
BRS_DUMMY_INT_H(860)
BRS_DUMMY_INT_H(864)
BRS_DUMMY_INT_H(868)
BRS_DUMMY_INT_H(872)
BRS_DUMMY_INT_H(876)
BRS_DUMMY_INT_H(880)
BRS_DUMMY_INT_H(884)
BRS_DUMMY_INT_H(888)
BRS_DUMMY_INT_H(892)
BRS_DUMMY_INT_H(896)
BRS_DUMMY_INT_H(900)
BRS_DUMMY_INT_H(904)
BRS_DUMMY_INT_H(908)
BRS_DUMMY_INT_H(912)
BRS_DUMMY_INT_H(916)
BRS_DUMMY_INT_H(920)
BRS_DUMMY_INT_H(924)
BRS_DUMMY_INT_H(928)
BRS_DUMMY_INT_H(932)
BRS_DUMMY_INT_H(936)
BRS_DUMMY_INT_H(940)
BRS_DUMMY_INT_H(944)
BRS_DUMMY_INT_H(948)
BRS_DUMMY_INT_H(952)
BRS_DUMMY_INT_H(956)
BRS_DUMMY_INT_H(960)
BRS_DUMMY_INT_H(964)
BRS_DUMMY_INT_H(968)
BRS_DUMMY_INT_H(972)
BRS_DUMMY_INT_H(976)
BRS_DUMMY_INT_H(980)
BRS_DUMMY_INT_H(984)
BRS_DUMMY_INT_H(988)
BRS_DUMMY_INT_H(992)
BRS_DUMMY_INT_H(996)
BRS_DUMMY_INT_H(1000)
BRS_DUMMY_INT_H(1004)
BRS_DUMMY_INT_H(1008)
BRS_DUMMY_INT_H(1012)
BRS_DUMMY_INT_H(1016)
BRS_DUMMY_INT_H(1020)
BRS_DUMMY_INT_H(1024)
BRS_DUMMY_INT_H(1028)
BRS_DUMMY_INT_H(1032)
BRS_DUMMY_INT_H(1036)
BRS_DUMMY_INT_H(1040)
BRS_DUMMY_INT_H(1044)
BRS_DUMMY_INT_H(1048)
BRS_DUMMY_INT_H(1052)
BRS_DUMMY_INT_H(1056)
BRS_DUMMY_INT_H(1060)
BRS_DUMMY_INT_H(1064)
BRS_DUMMY_INT_H(1068)
BRS_DUMMY_INT_H(1072)
BRS_DUMMY_INT_H(1076)
BRS_DUMMY_INT_H(1080)
BRS_DUMMY_INT_H(1084)
BRS_DUMMY_INT_H(1088)
BRS_DUMMY_INT_H(1092)
BRS_DUMMY_INT_H(1096)
BRS_DUMMY_INT_H(1100)
BRS_DUMMY_INT_H(1104)
BRS_DUMMY_INT_H(1108)
BRS_DUMMY_INT_H(1112)
BRS_DUMMY_INT_H(1116)
BRS_DUMMY_INT_H(1120)
BRS_DUMMY_INT_H(1124)
BRS_DUMMY_INT_H(1128)
BRS_DUMMY_INT_H(1132)
BRS_DUMMY_INT_H(1136)
BRS_DUMMY_INT_H(1140)
BRS_DUMMY_INT_H(1144)
BRS_DUMMY_INT_H(1148)
BRS_DUMMY_INT_H(1152)
BRS_DUMMY_INT_H(1156)
BRS_DUMMY_INT_H(1160)
BRS_DUMMY_INT_H(1164)
BRS_DUMMY_INT_H(1168)
BRS_DUMMY_INT_H(1172)
BRS_DUMMY_INT_H(1176)
BRS_DUMMY_INT_H(1180)
BRS_DUMMY_INT_H(1184)
BRS_DUMMY_INT_H(1188)
BRS_DUMMY_INT_H(1192)
BRS_DUMMY_INT_H(1196)
BRS_DUMMY_INT_H(1200)
BRS_DUMMY_INT_H(1204)
BRS_DUMMY_INT_H(1208)
BRS_DUMMY_INT_H(1212)
BRS_DUMMY_INT_H(1216)
BRS_DUMMY_INT_H(1220)
BRS_DUMMY_INT_H(1224)
BRS_DUMMY_INT_H(1228)
BRS_DUMMY_INT_H(1232)
BRS_DUMMY_INT_H(1236)
BRS_DUMMY_INT_H(1240)
BRS_DUMMY_INT_H(1244)
BRS_DUMMY_INT_H(1248)
BRS_DUMMY_INT_H(1252)
BRS_DUMMY_INT_H(1256)
BRS_DUMMY_INT_H(1260)
BRS_DUMMY_INT_H(1264)
BRS_DUMMY_INT_H(1268)
BRS_DUMMY_INT_H(1272)
BRS_DUMMY_INT_H(1276)
BRS_DUMMY_INT_H(1280)
BRS_DUMMY_INT_H(1284)
BRS_DUMMY_INT_H(1288)
BRS_DUMMY_INT_H(1292)
BRS_DUMMY_INT_H(1296)
BRS_DUMMY_INT_H(1300)
BRS_DUMMY_INT_H(1304)
BRS_DUMMY_INT_H(1308)
BRS_DUMMY_INT_H(1312)
BRS_DUMMY_INT_H(1316)
BRS_DUMMY_INT_H(1320)
BRS_DUMMY_INT_H(1324)
BRS_DUMMY_INT_H(1328)
BRS_DUMMY_INT_H(1332)
BRS_DUMMY_INT_H(1336)
BRS_DUMMY_INT_H(1340)
BRS_DUMMY_INT_H(1344)
BRS_DUMMY_INT_H(1348)
BRS_DUMMY_INT_H(1352)
BRS_DUMMY_INT_H(1356)
BRS_DUMMY_INT_H(1360)
BRS_DUMMY_INT_H(1364)
BRS_DUMMY_INT_H(1368)
BRS_DUMMY_INT_H(1372)
BRS_DUMMY_INT_H(1376)
BRS_DUMMY_INT_H(1380)
BRS_DUMMY_INT_H(1384)
BRS_DUMMY_INT_H(1388)
BRS_DUMMY_INT_H(1392)
BRS_DUMMY_INT_H(1396)
BRS_DUMMY_INT_H(1400)
BRS_DUMMY_INT_H(1404)
BRS_DUMMY_INT_H(1408)
BRS_DUMMY_INT_H(1412)
BRS_DUMMY_INT_H(1416)
BRS_DUMMY_INT_H(1420)
BRS_DUMMY_INT_H(1424)
BRS_DUMMY_INT_H(1428)
BRS_DUMMY_INT_H(1432)
BRS_DUMMY_INT_H(1436)
BRS_DUMMY_INT_H(1440)
BRS_DUMMY_INT_H(1444)
BRS_DUMMY_INT_H(1448)
BRS_DUMMY_INT_H(1452)
BRS_DUMMY_INT_H(1456)
BRS_DUMMY_INT_H(1460)
BRS_DUMMY_INT_H(1464)
BRS_DUMMY_INT_H(1468)
BRS_DUMMY_INT_H(1472)
BRS_DUMMY_INT_H(1476)
BRS_DUMMY_INT_H(1480)
BRS_DUMMY_INT_H(1484)
BRS_DUMMY_INT_H(1488)
BRS_DUMMY_INT_H(1492)
BRS_DUMMY_INT_H(1496)
BRS_DUMMY_INT_H(1500)
BRS_DUMMY_INT_H(1504)
BRS_DUMMY_INT_H(1508)
BRS_DUMMY_INT_H(1512)
BRS_DUMMY_INT_H(1516)
BRS_DUMMY_INT_H(1520)
BRS_DUMMY_INT_H(1524)
BRS_DUMMY_INT_H(1528)
BRS_DUMMY_INT_H(1532)
BRS_DUMMY_INT_H(1536)
BRS_DUMMY_INT_H(1540)
BRS_DUMMY_INT_H(1544)
BRS_DUMMY_INT_H(1548)
BRS_DUMMY_INT_H(1552)
BRS_DUMMY_INT_H(1556)
BRS_DUMMY_INT_H(1560)
BRS_DUMMY_INT_H(1564)
BRS_DUMMY_INT_H(1568)
BRS_DUMMY_INT_H(1572)
BRS_DUMMY_INT_H(1576)
BRS_DUMMY_INT_H(1580)
BRS_DUMMY_INT_H(1584)
BRS_DUMMY_INT_H(1588)
BRS_DUMMY_INT_H(1592)
BRS_DUMMY_INT_H(1596)
BRS_DUMMY_INT_H(1600)
BRS_DUMMY_INT_H(1604)
BRS_DUMMY_INT_H(1608)
BRS_DUMMY_INT_H(1612)
BRS_DUMMY_INT_H(1616)
BRS_DUMMY_INT_H(1620)
BRS_DUMMY_INT_H(1624)
BRS_DUMMY_INT_H(1628)
BRS_DUMMY_INT_H(1632)
BRS_DUMMY_INT_H(1636)
BRS_DUMMY_INT_H(1640)
BRS_DUMMY_INT_H(1644)
BRS_DUMMY_INT_H(1648)
BRS_DUMMY_INT_H(1652)
BRS_DUMMY_INT_H(1656)
BRS_DUMMY_INT_H(1660)
BRS_DUMMY_INT_H(1664)
BRS_DUMMY_INT_H(1668)
BRS_DUMMY_INT_H(1672)
BRS_DUMMY_INT_H(1676)
BRS_DUMMY_INT_H(1680)
BRS_DUMMY_INT_H(1684)
BRS_DUMMY_INT_H(1688)
BRS_DUMMY_INT_H(1692)
BRS_DUMMY_INT_H(1696)
BRS_DUMMY_INT_H(1700)
BRS_DUMMY_INT_H(1704)
BRS_DUMMY_INT_H(1708)
BRS_DUMMY_INT_H(1712)
BRS_DUMMY_INT_H(1716)
BRS_DUMMY_INT_H(1720)
BRS_DUMMY_INT_H(1724)
BRS_DUMMY_INT_H(1728)
BRS_DUMMY_INT_H(1732)
BRS_DUMMY_INT_H(1736)
BRS_DUMMY_INT_H(1740)
BRS_DUMMY_INT_H(1744)
BRS_DUMMY_INT_H(1748)
BRS_DUMMY_INT_H(1752)
BRS_DUMMY_INT_H(1756)
BRS_DUMMY_INT_H(1760)
BRS_DUMMY_INT_H(1764)
BRS_DUMMY_INT_H(1768)
BRS_DUMMY_INT_H(1772)
BRS_DUMMY_INT_H(1776)
BRS_DUMMY_INT_H(1780)
BRS_DUMMY_INT_H(1784)
BRS_DUMMY_INT_H(1788)
BRS_DUMMY_INT_H(1792)
BRS_DUMMY_INT_H(1796)
BRS_DUMMY_INT_H(1800)
BRS_DUMMY_INT_H(1804)
BRS_DUMMY_INT_H(1808)
BRS_DUMMY_INT_H(1812)
BRS_DUMMY_INT_H(1816)
BRS_DUMMY_INT_H(1820)
BRS_DUMMY_INT_H(1824)
BRS_DUMMY_INT_H(1828)
BRS_DUMMY_INT_H(1832)
BRS_DUMMY_INT_H(1836)
BRS_DUMMY_INT_H(1840)
BRS_DUMMY_INT_H(1844)
BRS_DUMMY_INT_H(1848)
BRS_DUMMY_INT_H(1852)
BRS_DUMMY_INT_H(1856)
BRS_DUMMY_INT_H(1860)
BRS_DUMMY_INT_H(1864)
BRS_DUMMY_INT_H(1868)
BRS_DUMMY_INT_H(1872)
BRS_DUMMY_INT_H(1876)
BRS_DUMMY_INT_H(1880)
BRS_DUMMY_INT_H(1884)
BRS_DUMMY_INT_H(1888)
BRS_DUMMY_INT_H(1892)
BRS_DUMMY_INT_H(1896)
BRS_DUMMY_INT_H(1900)
BRS_DUMMY_INT_H(1904)
BRS_DUMMY_INT_H(1908)
BRS_DUMMY_INT_H(1912)
BRS_DUMMY_INT_H(1916)
BRS_DUMMY_INT_H(1920)
BRS_DUMMY_INT_H(1924)
BRS_DUMMY_INT_H(1928)
BRS_DUMMY_INT_H(1932)
BRS_DUMMY_INT_H(1936)
BRS_DUMMY_INT_H(1940)
BRS_DUMMY_INT_H(1944)
BRS_DUMMY_INT_H(1948)
BRS_DUMMY_INT_H(1952)
BRS_DUMMY_INT_H(1956)
BRS_DUMMY_INT_H(1960)
BRS_DUMMY_INT_H(1964)
BRS_DUMMY_INT_H(1968)
BRS_DUMMY_INT_H(1972)
BRS_DUMMY_INT_H(1976)
BRS_DUMMY_INT_H(1980)
BRS_DUMMY_INT_H(1984)
BRS_DUMMY_INT_H(1988)
BRS_DUMMY_INT_H(1992)
BRS_DUMMY_INT_H(1996)
BRS_DUMMY_INT_H(2000)
BRS_DUMMY_INT_H(2004)
BRS_DUMMY_INT_H(2008)
BRS_DUMMY_INT_H(2012)
BRS_DUMMY_INT_H(2016)
BRS_DUMMY_INT_H(2020)
BRS_DUMMY_INT_H(2024)
BRS_DUMMY_INT_H(2028)
BRS_DUMMY_INT_H(2032)
BRS_DUMMY_INT_H(2036)
BRS_DUMMY_INT_H(2040)
BRS_DUMMY_INT_H(2044)
BRS_DUMMY_INT_H(2048)
BRS_DUMMY_INT_H(2052)
BRS_DUMMY_INT_H(2056)
BRS_DUMMY_INT_H(2060)
BRS_DUMMY_INT_H(2064)
BRS_DUMMY_INT_H(2068)
BRS_DUMMY_INT_H(2072)
BRS_DUMMY_INT_H(2076)
BRS_DUMMY_INT_H(2080)
BRS_DUMMY_INT_H(2084)
BRS_DUMMY_INT_H(2088)
BRS_DUMMY_INT_H(2092)
BRS_DUMMY_INT_H(2096)
BRS_DUMMY_INT_H(2100)
BRS_DUMMY_INT_H(2104)
BRS_DUMMY_INT_H(2108)
BRS_DUMMY_INT_H(2112)
BRS_DUMMY_INT_H(2116)
BRS_DUMMY_INT_H(2120)
BRS_DUMMY_INT_H(2124)
BRS_DUMMY_INT_H(2128)
BRS_DUMMY_INT_H(2132)
BRS_DUMMY_INT_H(2136)
BRS_DUMMY_INT_H(2140)
BRS_DUMMY_INT_H(2144)
BRS_DUMMY_INT_H(2148)
BRS_DUMMY_INT_H(2152)
BRS_DUMMY_INT_H(2156)
BRS_DUMMY_INT_H(2160)
BRS_DUMMY_INT_H(2164)
BRS_DUMMY_INT_H(2168)
BRS_DUMMY_INT_H(2172)
BRS_DUMMY_INT_H(2176)
BRS_DUMMY_INT_H(2180)
BRS_DUMMY_INT_H(2184)
BRS_DUMMY_INT_H(2188)
BRS_DUMMY_INT_H(2192)
BRS_DUMMY_INT_H(2196)
BRS_DUMMY_INT_H(2200)
BRS_DUMMY_INT_H(2204)
BRS_DUMMY_INT_H(2208)
BRS_DUMMY_INT_H(2212)
BRS_DUMMY_INT_H(2216)
BRS_DUMMY_INT_H(2220)
BRS_DUMMY_INT_H(2224)
BRS_DUMMY_INT_H(2228)
BRS_DUMMY_INT_H(2232)
BRS_DUMMY_INT_H(2236)
BRS_DUMMY_INT_H(2240)
BRS_DUMMY_INT_H(2244)
BRS_DUMMY_INT_H(2248)
BRS_DUMMY_INT_H(2252)
BRS_DUMMY_INT_H(2256)
BRS_DUMMY_INT_H(2260)
BRS_DUMMY_INT_H(2264)
BRS_DUMMY_INT_H(2268)
BRS_DUMMY_INT_H(2272)
BRS_DUMMY_INT_H(2276)
BRS_DUMMY_INT_H(2280)
BRS_DUMMY_INT_H(2284)
BRS_DUMMY_INT_H(2288)
BRS_DUMMY_INT_H(2292)
BRS_DUMMY_INT_H(2296)
BRS_DUMMY_INT_H(2300)
BRS_DUMMY_INT_H(2304)
BRS_DUMMY_INT_H(2308)
BRS_DUMMY_INT_H(2312)
BRS_DUMMY_INT_H(2316)
BRS_DUMMY_INT_H(2320)
BRS_DUMMY_INT_H(2324)
BRS_DUMMY_INT_H(2328)
BRS_DUMMY_INT_H(2332)
BRS_DUMMY_INT_H(2336)
BRS_DUMMY_INT_H(2340)
BRS_DUMMY_INT_H(2344)
BRS_DUMMY_INT_H(2348)
BRS_DUMMY_INT_H(2352)
BRS_DUMMY_INT_H(2356)
BRS_DUMMY_INT_H(2360)
BRS_DUMMY_INT_H(2364)
BRS_DUMMY_INT_H(2368)
BRS_DUMMY_INT_H(2372)
BRS_DUMMY_INT_H(2376)
BRS_DUMMY_INT_H(2380)
BRS_DUMMY_INT_H(2384)
BRS_DUMMY_INT_H(2388)
BRS_DUMMY_INT_H(2392)
BRS_DUMMY_INT_H(2396)
BRS_DUMMY_INT_H(2400)
BRS_DUMMY_INT_H(2404)
BRS_DUMMY_INT_H(2408)
BRS_DUMMY_INT_H(2412)
BRS_DUMMY_INT_H(2416)
BRS_DUMMY_INT_H(2420)
BRS_DUMMY_INT_H(2424)
BRS_DUMMY_INT_H(2428)
BRS_DUMMY_INT_H(2432)
BRS_DUMMY_INT_H(2436)
BRS_DUMMY_INT_H(2440)
BRS_DUMMY_INT_H(2444)
BRS_DUMMY_INT_H(2448)
BRS_DUMMY_INT_H(2452)
BRS_DUMMY_INT_H(2456)
BRS_DUMMY_INT_H(2460)
BRS_DUMMY_INT_H(2464)
BRS_DUMMY_INT_H(2468)
BRS_DUMMY_INT_H(2472)
BRS_DUMMY_INT_H(2476)
BRS_DUMMY_INT_H(2480)
BRS_DUMMY_INT_H(2484)
BRS_DUMMY_INT_H(2488)
BRS_DUMMY_INT_H(2492)
BRS_DUMMY_INT_H(2496)
BRS_DUMMY_INT_H(2500)
BRS_DUMMY_INT_H(2504)
BRS_DUMMY_INT_H(2508)
BRS_DUMMY_INT_H(2512)
BRS_DUMMY_INT_H(2516)
BRS_DUMMY_INT_H(2520)
BRS_DUMMY_INT_H(2524)
BRS_DUMMY_INT_H(2528)
BRS_DUMMY_INT_H(2532)
BRS_DUMMY_INT_H(2536)
BRS_DUMMY_INT_H(2540)
BRS_DUMMY_INT_H(2544)
BRS_DUMMY_INT_H(2548)
BRS_DUMMY_INT_H(2552)
BRS_DUMMY_INT_H(2556)
BRS_DUMMY_INT_H(2560)
BRS_DUMMY_INT_H(2564)
BRS_DUMMY_INT_H(2568)
BRS_DUMMY_INT_H(2572)
BRS_DUMMY_INT_H(2576)
BRS_DUMMY_INT_H(2580)
BRS_DUMMY_INT_H(2584)
BRS_DUMMY_INT_H(2588)
BRS_DUMMY_INT_H(2592)
BRS_DUMMY_INT_H(2596)
BRS_DUMMY_INT_H(2600)
BRS_DUMMY_INT_H(2604)
BRS_DUMMY_INT_H(2608)
BRS_DUMMY_INT_H(2612)
BRS_DUMMY_INT_H(2616)
BRS_DUMMY_INT_H(2620)
BRS_DUMMY_INT_H(2624)
BRS_DUMMY_INT_H(2628)
BRS_DUMMY_INT_H(2632)
BRS_DUMMY_INT_H(2636)
BRS_DUMMY_INT_H(2640)
BRS_DUMMY_INT_H(2644)
BRS_DUMMY_INT_H(2648)
BRS_DUMMY_INT_H(2652)
BRS_DUMMY_INT_H(2656)
BRS_DUMMY_INT_H(2660)
BRS_DUMMY_INT_H(2664)
BRS_DUMMY_INT_H(2668)
BRS_DUMMY_INT_H(2672)
BRS_DUMMY_INT_H(2676)
BRS_DUMMY_INT_H(2680)
BRS_DUMMY_INT_H(2684)
BRS_DUMMY_INT_H(2688)
BRS_DUMMY_INT_H(2692)
BRS_DUMMY_INT_H(2696)
BRS_DUMMY_INT_H(2700)
BRS_DUMMY_INT_H(2704)
BRS_DUMMY_INT_H(2708)
BRS_DUMMY_INT_H(2712)
BRS_DUMMY_INT_H(2716)
BRS_DUMMY_INT_H(2720)
BRS_DUMMY_INT_H(2724)
BRS_DUMMY_INT_H(2728)
BRS_DUMMY_INT_H(2732)
BRS_DUMMY_INT_H(2736)
BRS_DUMMY_INT_H(2740)
BRS_DUMMY_INT_H(2744)
BRS_DUMMY_INT_H(2748)
BRS_DUMMY_INT_H(2752)
BRS_DUMMY_INT_H(2756)
BRS_DUMMY_INT_H(2760)
BRS_DUMMY_INT_H(2764)
BRS_DUMMY_INT_H(2768)
BRS_DUMMY_INT_H(2772)
BRS_DUMMY_INT_H(2776)
BRS_DUMMY_INT_H(2780)
BRS_DUMMY_INT_H(2784)
BRS_DUMMY_INT_H(2788)
BRS_DUMMY_INT_H(2792)
BRS_DUMMY_INT_H(2796)
BRS_DUMMY_INT_H(2800)
BRS_DUMMY_INT_H(2804)
BRS_DUMMY_INT_H(2808)
BRS_DUMMY_INT_H(2812)
BRS_DUMMY_INT_H(2816)
BRS_DUMMY_INT_H(2820)
BRS_DUMMY_INT_H(2824)
BRS_DUMMY_INT_H(2828)
BRS_DUMMY_INT_H(2832)
BRS_DUMMY_INT_H(2836)
BRS_DUMMY_INT_H(2840)
BRS_DUMMY_INT_H(2844)
BRS_DUMMY_INT_H(2848)
BRS_DUMMY_INT_H(2852)
BRS_DUMMY_INT_H(2856)
BRS_DUMMY_INT_H(2860)
BRS_DUMMY_INT_H(2864)
BRS_DUMMY_INT_H(2868)
BRS_DUMMY_INT_H(2872)
BRS_DUMMY_INT_H(2876)
BRS_DUMMY_INT_H(2880)
BRS_DUMMY_INT_H(2884)
BRS_DUMMY_INT_H(2888)
BRS_DUMMY_INT_H(2892)
BRS_DUMMY_INT_H(2896)
BRS_DUMMY_INT_H(2900)
BRS_DUMMY_INT_H(2904)
BRS_DUMMY_INT_H(2908)
BRS_DUMMY_INT_H(2912)
BRS_DUMMY_INT_H(2916)
BRS_DUMMY_INT_H(2920)
BRS_DUMMY_INT_H(2924)
BRS_DUMMY_INT_H(2928)
BRS_DUMMY_INT_H(2932)
BRS_DUMMY_INT_H(2936)
BRS_DUMMY_INT_H(2940)
BRS_DUMMY_INT_H(2944)
BRS_DUMMY_INT_H(2948)
BRS_DUMMY_INT_H(2952)
BRS_DUMMY_INT_H(2956)
BRS_DUMMY_INT_H(2960)
BRS_DUMMY_INT_H(2964)
BRS_DUMMY_INT_H(2968)
BRS_DUMMY_INT_H(2972)
BRS_DUMMY_INT_H(2976)
BRS_DUMMY_INT_H(2980)
BRS_DUMMY_INT_H(2984)
BRS_DUMMY_INT_H(2988)
BRS_DUMMY_INT_H(2992)
BRS_DUMMY_INT_H(2996)
BRS_DUMMY_INT_H(3000)
BRS_DUMMY_INT_H(3004)
BRS_DUMMY_INT_H(3008)
BRS_DUMMY_INT_H(3012)
BRS_DUMMY_INT_H(3016)
BRS_DUMMY_INT_H(3020)
BRS_DUMMY_INT_H(3024)
BRS_DUMMY_INT_H(3028)
BRS_DUMMY_INT_H(3032)
BRS_DUMMY_INT_H(3036)
BRS_DUMMY_INT_H(3040)
BRS_DUMMY_INT_H(3044)
BRS_DUMMY_INT_H(3048)
BRS_DUMMY_INT_H(3052)
BRS_DUMMY_INT_H(3056)
BRS_DUMMY_INT_H(3060)
BRS_DUMMY_INT_H(3064)
BRS_DUMMY_INT_H(3068)
BRS_DUMMY_INT_H(3072)
BRS_DUMMY_INT_H(3076)
BRS_DUMMY_INT_H(3080)
BRS_DUMMY_INT_H(3084)
BRS_DUMMY_INT_H(3088)
BRS_DUMMY_INT_H(3092)
BRS_DUMMY_INT_H(3096)
BRS_DUMMY_INT_H(3100)
BRS_DUMMY_INT_H(3104)
BRS_DUMMY_INT_H(3108)
BRS_DUMMY_INT_H(3112)
BRS_DUMMY_INT_H(3116)
BRS_DUMMY_INT_H(3120)
BRS_DUMMY_INT_H(3124)
BRS_DUMMY_INT_H(3128)
BRS_DUMMY_INT_H(3132)
BRS_DUMMY_INT_H(3136)
BRS_DUMMY_INT_H(3140)
BRS_DUMMY_INT_H(3144)
BRS_DUMMY_INT_H(3148)
BRS_DUMMY_INT_H(3152)
BRS_DUMMY_INT_H(3156)
BRS_DUMMY_INT_H(3160)
BRS_DUMMY_INT_H(3164)
BRS_DUMMY_INT_H(3168)
BRS_DUMMY_INT_H(3172)
BRS_DUMMY_INT_H(3176)
BRS_DUMMY_INT_H(3180)
BRS_DUMMY_INT_H(3184)
BRS_DUMMY_INT_H(3188)
BRS_DUMMY_INT_H(3192)
BRS_DUMMY_INT_H(3196)
BRS_DUMMY_INT_H(3200)
BRS_DUMMY_INT_H(3204)
BRS_DUMMY_INT_H(3208)
BRS_DUMMY_INT_H(3212)
BRS_DUMMY_INT_H(3216)
BRS_DUMMY_INT_H(3220)
BRS_DUMMY_INT_H(3224)
BRS_DUMMY_INT_H(3228)
BRS_DUMMY_INT_H(3232)
BRS_DUMMY_INT_H(3236)
BRS_DUMMY_INT_H(3240)
BRS_DUMMY_INT_H(3244)
BRS_DUMMY_INT_H(3248)
BRS_DUMMY_INT_H(3252)
BRS_DUMMY_INT_H(3256)
BRS_DUMMY_INT_H(3260)
BRS_DUMMY_INT_H(3264)
BRS_DUMMY_INT_H(3268)
BRS_DUMMY_INT_H(3272)
BRS_DUMMY_INT_H(3276)
BRS_DUMMY_INT_H(3280)
BRS_DUMMY_INT_H(3284)
BRS_DUMMY_INT_H(3288)
BRS_DUMMY_INT_H(3292)
BRS_DUMMY_INT_H(3296)
BRS_DUMMY_INT_H(3300)
BRS_DUMMY_INT_H(3304)
BRS_DUMMY_INT_H(3308)
BRS_DUMMY_INT_H(3312)
BRS_DUMMY_INT_H(3316)
BRS_DUMMY_INT_H(3320)
BRS_DUMMY_INT_H(3324)
BRS_DUMMY_INT_H(3328)
BRS_DUMMY_INT_H(3332)
BRS_DUMMY_INT_H(3336)
BRS_DUMMY_INT_H(3340)
BRS_DUMMY_INT_H(3344)
BRS_DUMMY_INT_H(3348)
BRS_DUMMY_INT_H(3352)
BRS_DUMMY_INT_H(3356)

# endif /*BRS_HW_ENABLE_SINGLE_DUMMY_INTERRUPT*/
#endif /*BRS_OS_USECASE_BRS*/

#endif /*_BRSHW_H_*/
